home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 41.zip / BS1 part 41 / Devpac 2.12 disk 2.adf / include.cbm / exec / tasks.i < prev    next >
Text File  |  1987-03-31  |  3KB  |  95 lines

  1.     IFND EXEC_TASKS_I
  2. EXEC_TASKS_I SET 1
  3. **********************************************************************
  4. *
  5. *   Commodore Amiga -- ROM Operating System Executive Include File
  6. *
  7. **********************************************************************
  8. *
  9. *   Source Control:
  10. *
  11. *       $Header: tasks.i,v 33.1 86/03/07 17:30:19 neil Exp $
  12. *
  13. *       $Locker:  $
  14. *
  15. **********************************************************************
  16.  
  17.     IFND EXEC_NODES_I
  18.     INCLUDE "exec/nodes.i"
  19.     ENDC !EXEC_NODES_I
  20.  
  21.     IFND EXEC_LISTS_I
  22.     INCLUDE "exec/lists.i"
  23.     ENDC !EXEC_LISTS_I
  24.  
  25.  
  26. *----------------------------------------------------------------
  27. *
  28. *   Task Control Structure
  29. *
  30. *----------------------------------------------------------------
  31.  
  32.  STRUCTURE  TC,LN_SIZE
  33.     UBYTE   TC_FLAGS
  34.     UBYTE   TC_STATE
  35.     BYTE    TC_IDNESTCNT            * intr disabled nesting
  36.     BYTE    TC_TDNESTCNT            * task disabled nesting
  37.     ULONG   TC_SIGALLOC             * sigs allocated
  38.     ULONG   TC_SIGWAIT              * sigs we are waiting for
  39.     ULONG   TC_SIGRECVD             * sigs we have received
  40.     ULONG   TC_SIGEXCEPT            * sigs we take as exceptions
  41.     UWORD   TC_TRAPALLOC            * traps allocated
  42.     UWORD   TC_TRAPABLE             * traps enabled
  43.     APTR    TC_EXCEPTDATA           * data for except proc
  44.     APTR    TC_EXCEPTCODE           * exception procedure
  45.     APTR    TC_TRAPDATA             * data for proc trap proc
  46.     APTR    TC_TRAPCODE             * proc trap procedure
  47.     APTR    TC_SPREG                * stack pointer
  48.     APTR    TC_SPLOWER              * stack lower bound
  49.     APTR    TC_SPUPPER              * stack upper bound + 2
  50.     APTR    TC_SWITCH               * task losing CPU
  51.     APTR    TC_LAUNCH               * task getting CPU
  52.     STRUCT  TC_MEMENTRY,LH_SIZE     * allocated memory
  53.     APTR    TC_Userdata
  54.     LABEL   TC_SIZE
  55.  
  56.  
  57. *------ Flag Bits:
  58.  
  59.     BITDEF  T,PROCTIME,0
  60.     BITDEF  T,STACKCHK,4
  61.     BITDEF  T,EXCEPT,5
  62.     BITDEF  T,SWITCH,6
  63.     BITDEF  T,LAUNCH,7
  64.  
  65.  
  66. *------ Task States:
  67. TS_INVALID  EQU     0
  68. TS_ADDED    EQU     TS_INVALID+1
  69. TS_RUN      EQU     TS_ADDED+1
  70. TS_READY    EQU     TS_RUN+1
  71. TS_WAIT     EQU     TS_READY+1
  72. TS_EXCEPT   EQU     TS_WAIT+1
  73. TS_REMOVED  EQU     TS_EXCEPT+1
  74.  
  75.  
  76. *------ System Task Signals:
  77.  
  78. SIGF_ABORT      EQU     $0001
  79. SIGF_CHILD      EQU     $0002
  80. SIGF_BLIT       EQU     $0010
  81. SIGF_SINGLE     EQU     $0010
  82. SIGF_DOS        EQU     $0100
  83.  
  84. SIGB_ABORT      EQU     0
  85. SIGB_CHILD      EQU     1
  86. SIGB_BLIT       EQU     4
  87. SIGB_SINGLE     EQU     4
  88. SIGB_DOS        EQU     8
  89.  
  90.  
  91. SYS_SIGALLOC    EQU     $0FFFF          ; pre-allocated signals
  92. SYS_TRAPALLOC   EQU     $08000          ; pre-allocated traps
  93.  
  94.     ENDC !EXEC_TASKS_I
  95.